<?php
/**
 * 自定义一个函数dirSize()统计传入参数的目录大小
 * @param   string $directory  目录名称
 * @return   double  目录大小
 */

function dirSize($directory){
	//声明一个变量用来累加各个文件大小
	$dir_size=0;

	//打开目录并判断能否打开
	if($opendir=opendir($directory)){
		//循环遍历目录下所有文件
		while($filename=readdir($opendir)){
			//排除.和..
			if($filename!='.' && $filename!='..'){
				//拼接子目录的路径
				$newdir=$directory.'/'.$filename;
				//判断子目录是文件还是文件夹 是文件计算大小 是目录进行遍历
				if(is_dir($newdir))
					$dir_size+=dirSize($newdir);
				if(is_file($newdir))
					$dir_size+=filesize($newdir);
			}
		}
		closedir($opendir);
		return $dir_size;
	}

}

$dir_size=dirSize('../phpcms');
echo round($dir_size/pow(1024,1),2).'KB';
